package common;

import java.rmi.Remote;
import java.rmi.RemoteException;
import java.util.Collection;
import java.util.List;

public interface ServerInterface extends Remote {
	
	public boolean SendMessage(long receiverId, Message message, String key) throws RemoteException;
	
	public List<Message> getMessage(long userId, String key) throws RemoteException;
	
	public PrivateUser login(long id, String alias, String key) throws RemoteException;

	public void logout(long userId, String  key) throws RemoteException;
	
	public boolean changeUserInfo(PrivateUser user) throws RemoteException;
	
	public Collection<User> getUsers() throws RemoteException;
	
	public User getUserById(long id) throws RemoteException;
	
	public void setSupportFonts(long id, String key, String[] fontNames) throws RemoteException;
	
	public String[] getSupportFonts(long id) throws RemoteException;
	
	public NotificationMsg getNotification(long id, String key) throws RemoteException;
	
	public void shutDown(String id) throws RemoteException;
}
